package com.vf.admin.client.service;

import com.vf.admin.client.dto.AppTuanDuiDto;
import com.vf.admin.client.dto.InvitationRankDto;
import com.vf.admin.client.dto.Invite3Dto;
import com.vf.admin.common.splitpage.SplitPageBean;
import com.vf.admin.miaodong.entity.AppInvitationRecord;
import com.vf.admin.miaodong.entity.AppMingxiJinbi;

import java.util.List;
import java.util.Map;

public interface AppInvitationRecordService {

    public List<AppInvitationRecord> findList(Map<String, Object> paraMap, SplitPageBean splitPage);

    public AppInvitationRecord get(Integer id);

    /**
     * 根据用户id获取上级邀请人
     * @param userid
     * @return
     */
    public AppInvitationRecord getShangji(Integer userid);

    public void save(AppInvitationRecord haoYou);

    //public void del(Integer id);

    /**
    * 查看我的邀请
    * @Param: [userid]
    * @return: java.util.List<com.vf.admin.miaodong.entity.AppInvitationRecord>
    * @Author: zhouyunyi
    * @Date: 2021/07/28
    * @Time: 11:19
    */
    List<AppInvitationRecord> findByYaoqingList(Integer userid);

    /**
    * 获取我的奖金
    * @Param: [userid]
    * @return: com.vf.admin.miaodong.entity.AppInvitationRecord
    * @Author: zhouyunyi
    * @Date: 2021/07/28
    * @Time: 12:57
    */
    AppInvitationRecord getJiangjin(Integer userid);

    /**
    * 查看我的团队
    * @Param: [userid 用户id, splitPageBean]s
    * @return: java.util.List<com.vf.admin.miaodong.entity.AppInvitationRecord>
    * @Author: zhouyunyi
    * @Date: 2021/07/28
    * @Time: 16:43
    */
    List<AppTuanDuiDto> findByTuandui(Integer userid, SplitPageBean splitPageBean);

    AppInvitationRecord selectBind(Integer userId);

    /**
     * 根据状态筛选对应的记录
     * @param status
     */
    List<AppInvitationRecord> trackInviteSent(Integer status);

    List<Invite3Dto> invite3();

    List<AppInvitationRecord> myInviteSonUser(Integer userId);

    /**
     * 收益明细
     * @param userId
     */
    List<AppMingxiJinbi> inviteDetail(Integer userId);

    /**
     * 奖励排行
     * @return
     */
    List<InvitationRankDto> inviteRank();
}
